1. Field of Invention
The present invention relates to strategies for wirelessly conveying information between devices, and more specifically, to a system for making services that may exist on one or more devices available to any device via a shared information space.
2. Background
In general, a software program may include a set of instructions, executable by a processor, that are organized to receive input (e.g., data) for a calculation or determination that may then result in an output. Over the years, software technology has evolved to transform these individual instruction sets into modules that may in turn be integrated together to form the more complex programs we know today. Today's more-sophisticated software programs may receive various forms of input such as raw data, for example as stored in magnetic or optical storage, user input through various known types of user interfaces, measured or monitored information converted to electronic information from electronic and/or electromechanical sensors, etc.
In some instances, programs may be configured to produce data usable by other software applications. However, a problem may be presented in conveying the information from one program to another. If the relationship is known before the programs are created, then a specific strategy may be devised to convert one program's output into another program's input. Traditionally this strategy has led to functional but rigid software applications, requiring frequent and possibly substantial revisions due to changes in functionality, platform, architecture, etc.
An example of this rigid incompatibility may be seen in solutions currently utilized for coupling wireless communication devices. Some manufacturers may attempt to simplify device operation by facilitating automatic wireless recognition and connection functionality between devices. This automated behavior, similar to the original “plug and play” devices that became available with the emergence of Universal Serial Bus (USB) technology, may allow unskilled users to operate wirelessly-coupled devices without having to first configure device communication settings. However, this functionality is often achieved through the use of services established by different manufacturers or user groups such as Bluetooth™ Service Discovery Protocol (BT SDP), Bonjour, Universal Plug and Play (UPnP), etc. Individually these protocols (e.g., groups of services) may function adequately, but they were not created with the ability to interact. In at least one problematic scenario, a wireless communication device utilizing one service discovery protocol would not be able to wirelessly connect to another device, identify another device, utilize services on another device, etc. that is utilizing a different service discovery protocol, and therefore, beneficial functionality available on a device may be lost because a wireless coupling between devices cannot be automatically established.